home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 2000 February / Macworld (2000-02).dmg / Updaters / ObjectPlant 2.1.6 Updater / Object Plant README 2.1.6 next >
Text File  |  1999-11-08  |  24KB  |  423 lines

  1. The Object Plant 2.1.6 Updater
  2.  
  3. Date of Release: 8 November 1999
  4.  
  5. The Object Plant is a OOA/OOD tool based on the OMT and UML notation. It can be used
  6. to create Object Models, State Diagrams, Event Trace Diagrams and Use Case Diagrams.
  7. The ObjectPlant can also be used to generate C++ or Java code skeletons and/or
  8. documentation on Word 5.1-6.0 RTF format.
  9.  
  10. C++ and Java code can be reverse engineered (10USD extra per each single license).
  11.  
  12. The Object Plant Updater folder contents:
  13. - ObjectPlant.updater              an updater application for the PowerPC version of the program
  14.                                                 can be applied to the following versions: 2.1.3, 2.1.4 and 2.1.5
  15. - 68k ObjectPlant.updater       an updater application for the 68k version of the program
  16.                                                 can be applied to the following versions: 2.1.3, 2.1.4 and 2.1.5
  17. - Code Generation templates   folder which contains a set of files that can be used to
  18.                                                generate different kinds of documents, e.g. code
  19.     - C++Template.cc                     template file for generation of C++ code skeletons
  20.     - C++Template.h                       template file for generation of C++ code skeletons
  21.     - C++CWTemplate.cc                template file for generation of C++ CodeWarrior specific
  22.                                                     code skeletons
  23.     - C++CWTemplate.h                  template file for generation of C++ CodeWarrior specific
  24.                                                     code skeletons
  25.     - C++SpecialTemplate.cc         template file for generation of C++ code skeletons
  26.     - C++SpecialTemplate.h           template file for generation of C++ code skeletons
  27.     - Java                                      template file for generation of Java code skeletons
  28.     - HTML Template                     template file for generation of HTML documentation
  29.     - Word 5.1-6.0                         template file for generation of documentation in
  30.                                                     RTF format suitable for Word 5.1-6.0
  31.     - Unsupported templates         code generation templates provided by ObjectPlant users
  32. - Register                                program for creating register forms to be sent to Kagi 
  33.  
  34. Requirements:
  35. System 7.1 or later
  36. 68020 or better
  37. 3 Mb free RAM
  38.  
  39. Registering
  40. To register use the Register program to create a register form which then shall be sent
  41. to Kagi Shareware using mail, email or fax.
  42.  
  43. The price for a single license is 25 USD, there are also site and world licenses available for
  44. 500 USD resp. 2000 USD.
  45.  
  46. The reverse engineering parts of ObjectPlant require separate registering and the price
  47. for a single license is 10 USD, there are also site and world licenses available for
  48. 200 USD resp. 800 USD.
  49.  
  50. http://www.kagi.com
  51. Email: shareware@kagi.com        (1 to 3 day processing time delay)
  52. FAX: +1 510 652 6589            (4 to 8 day processing time delay)
  53. Postal address:                       (4 to 8 day delay plus transit time to Kagi)
  54. Kagi
  55. 1442-A Walnut Street PMB #392-MU
  56. Berkeley, California, 94709-1405
  57. USA
  58.  
  59. Please note that Kagi automatically rejects any electronic payment that come includes
  60. a hotmail.com address. Refer to http://www.kagi.com/FAQs/hotmail.com
  61.  
  62. N.B. Kagi is a payment processing company and they are not the author/shipper of the
  63. product. Any problems with receiving registration codes or any problems with the product
  64. itself shall be addressed to the author at m-arc@algonet.se or micke@kagi.com
  65.  
  66. Registration codes will be sent to you normally within a week after receive a
  67. confirmation of your order from Kagi.
  68.  
  69.  
  70. Disclaimer
  71. This software is provided "as-is". I take no responsiblity in any damage caused by the
  72. software, use of the software or any of its outputs such as generated code. Use it at
  73. your own risk.
  74.  
  75.  
  76. Changes in 2.1.6 (8 November 1999)
  77. • Better drawing of navigation arrows when attached to qualifier boxes.
  78. • License check for CodeRetriever back in business again...
  79.  
  80.  
  81. Known Bugs
  82.  
  83. • The C++ parser does not handle a "long double" operator correctly, i.e.
  84.     operator long double() const;
  85.    will generate a parsing error.
  86. • The main windows sometimes look "messy". Everything is not erased properly when
  87.    moving parts around.
  88. • Moving a set of relationsships and classes can sometimes leave some of the lines
  89.    behind. 
  90. • If you use code generation, you cannot use the ':' character in class names.
  91. • Line drawing is not very good. When changing between different views lines are not
  92.    updated (adjusted) as expected.
  93. • If the "Page Setup" or "Print Page" commands do not work, try selecting a printer
  94.    in the chooser.
  95. • Snap to grid is only implemented in the Use Case diagram page.
  96. • Packages cannot be copied.
  97. • EPS output for free text may not be correct. I have no possibility to verify this.
  98. • Using any other font than helvetica may produce strange output when exporting
  99.    EPS pictures.
  100.  
  101. Use the web-page http://www.softsys.se/ObjectPlant/ to get new releases, report bugs etc. 
  102.  
  103. Questions concerning the program can be sent directly to the author
  104. at m-arc@algonet.se or micke@kagi.com
  105.  
  106.  
  107. This program should only travel in the complete folder.
  108.  
  109. Have fun,
  110.  
  111.                 Mikael Arctaedius
  112.         Stockholm, Sweden
  113.  
  114.         email: m-arc@algonet.se
  115.         http://www.softsys.se/ObjectPlant/
  116.  
  117.  
  118. Release History
  119.  
  120. Changes in 2.1.5 (6 November 1999)
  121. • Corrected a problem with parsing structs inside class definitions.
  122. • Corrected a problem with parsing initializers for const attributes in C++.
  123. • Corrected a problem with parsing struct initializers.
  124. • Corrected a problem with parsing template types in operation parameter.
  125. • Better scroll handling in dialog windows and main windows.
  126. • Attributes in an abstract class are now using a normal font, i.e. not italicezed.
  127. • Corrected a problem with associations which sometimes became invisible if the
  128.    "Rectilinear lines" preference option was off.
  129. • Corrected problems related to very long strings, for example saving or opening
  130.    a file with a very long class description could in previous versions cause a crash.
  131.    Also generating code with long strings could cause a crash.
  132. • And much more...
  133.  
  134.  
  135. Changes in 2.1.4 (19 May 1999)
  136. • Corrected a problem that could cause windows to become invisible, i.e. they were
  137.    positioned outside the screen. Normally all such windows are relocated but due to
  138.    a bug in the relocation function, windows above the screen was not correctly relocated.
  139. • Will now import Java code containing anonymous inner classes.
  140. • Corrected yet another set of memory leaks and also added a warning that will
  141.    show up when memory is getting dangerously low.
  142. • Increased the stack size for the PowerPC version of ObjectPlant. This will make it
  143.    possible to open and save very large models.
  144. • Made a partial implementation for support of templates. Class templates can now be
  145.    created in the model and code generated for them also. But the C++ parser does not
  146.    import templates correctly as of now.
  147. • Corrected the looks of the dependency arrows in the EPS output.
  148. • Added support for dependency arrows between classes (not reference classes).
  149.  
  150.  
  151. Changes in 2.1.3 (24 March 1999)
  152. • Corrected bug related to abstract classes code generation. The abstract keyword
  153.    (used in the Java template) was output even though the class wasn't abstract.
  154. • Fixed the problem with invisible (white) text strings in exported pictures (PICT format).
  155. • Perhaps fixed the problem with dashed lines being printed as solid lines. (Can someone
  156.    who has had this problem verify this and send me an email?)
  157. • Corrected some other problems (duplicated items) in exported pictures (PICT).
  158. • Corrected some bugs in the Interface dialog. It was mostly related to the new
  159.    Code Generation parts which didn't work for Interfaces.
  160. • Corrected another bug related to closing of windows. If you closed the project
  161.    window and got the "Do you want to save" question and then answered "Cancel"
  162.    all items in the main windows were deleted.
  163. • Corrected a bug which could cause a crash if an item (attribute or operation)
  164.    was dragged over the Project Window.
  165. • Corrected a bug that caused ObjectPlant to crash in the Preference dialog if you
  166.    were using MacOS 8.1 or earlier.
  167. • Removed a memory leak in the drag-n-drop in dialog windows.
  168. • The document is now marked "dirty" if you do a "Page Setup" or change in the
  169.    Document Preferences.
  170. • Added command keys for "Generate Code (All)" and "Generate Code (Selected)".
  171. • Changed the ProjectWindow so that one of the panes (ObjectModel, State Diagram,
  172.    EventTrace or Use Case) is active (selected). This makes it possible to add new
  173.    pages, delete pages and do print operations (setup and print) with the selected
  174.    page when the ProjectWindow is in front.
  175. • Added description fields for operation parameters and exceptions. Also changed the
  176.    Java code generation template so that @param and @exception descriptions are output.
  177. • Added the name of the page as a header of printouts.
  178.  
  179.  
  180. Changes in 2.1.2 (20 March 1999)
  181. • Corrected the handling operator parameters. Now the parameter type can include
  182.    comma characters.
  183. • Corrected yet some more memory leaks related to drag-n-drop in the
  184.    Project Window.
  185. • Corrected another problem related to drag-n-drop in the Project Window where
  186.    the dragged page was kind of displaced (not placed in the page where it was
  187.    supposed to be placed) and that could cause several other strange problems.
  188. • Corrected more memory leaks.
  189. • The operation parameter dialog window and operation exception dialog window
  190.    will now remember their positions.
  191. • Corrected a bug that caused a crash when doubleclicking on an exception in the
  192.    operation part of the class dialog window.
  193. • Corrected a bug that caused all items in a main window be deleted when the window
  194.    was closed using the Close in the File menu.
  195. • Corrected a bug in the About dialog which occured when Internet Config extension
  196.    wasn't installed and a document was open.
  197. • Corrected problems related to the Page Setup resources stored in the documents.
  198. • Added new code generation tag {HTMLENCODING}{/HTMLENCODING} that makes it
  199.    possible to include non-standard ASCII characters in generated HTML-code
  200.    and get the characters correctly coded, e.g. ç => ç and å => å
  201. • Added a "Print All Pages" item in the File menu. It will print all pages having any
  202.    content using the individual page setups.
  203.  
  204. Changes in 2.1.1 (6 March 1999)
  205. • Corrected a bug in Java reverse engineering. Parsing of operation parameters
  206.    will now handle arrays properly.
  207. • New Java code generation template which corrects the following problems:
  208.    - Added the necessary tags so that a class is declared `abstract'.
  209.    - Added the output of exceptions to the VIS_NONE operations.
  210.    - Added the necessary tags to the end of each OPERATION clause so that
  211.       abstract methods do not put out a "body", but instead simple finish the
  212.       declaration with a semicolon.
  213. • Corrected a bug related to parsing C++ code where a constructor's initializer
  214.    contained a literal string. This did in previous versions cause the parsing to
  215.    be aborted with an error message.
  216. • Generated files will now inherit the template file's colour.
  217. • Added clickable links to my mail-address and ObjectPlant's web-site in the
  218.    About dialog.
  219. • Corrected UML notation for static class members. They are now underlined
  220.    instead of prepended with the $ character, all in line with the 1.1 version of
  221.    the UML notation guide.
  222. • The C++ parser now understands javadoc style comments. This means that
  223.    your class, class member comments can be imported into the model
  224.    if the are surrounded by /** */.
  225. • Fixed several problems which displaced lines connected to other objects when
  226.    the lines weren't rectilinear and the objects and lines were moved.
  227. • Corrected a problem with self-referencing associations and aggregations that
  228.    didn't show up in previous versions.
  229. • Changed maximum size of a main window to 1600x1200.
  230. • Corrected a problem with code generation; when a file couldn't be opened because
  231.    it was already open by another program, a generated (empty) file wasn't deleted
  232.    which it should be since the generation was aborted.
  233. • Error reports in code generation now includes a MacOS error number which will
  234.    help identify problems.
  235. • Added support for F1-F4 keys as undo, cut, copy, paste in all text fields and
  236.    diagram pages.
  237. • Added support for command-dragging of windows in the background without
  238.    bringing the window to the foreground.
  239. • Added a "Find class" and "Find interface" menu command to the Class and Interface
  240.    menus. This will activate the page where the class is defined.
  241. • Fixed a bug that changed the system font when importing code.
  242. • Corrected a bug that sometimes made the Add button in the Import Code dialog
  243.    active when it shouldn't be and vice versa.
  244. • Corrected some bugs in the Interface dialog. The data/return type popup menu
  245.    shall now work correctly and drag-n-drop shall also work correctly.
  246. • Added support for Edit->Cut
  247. • And some other minor bugs have been fixed.
  248.  
  249.  
  250. Changes in 2.1 (24 January 1999)
  251. • Corrected a drag-n-drop bug in the project window. This bug caused the program
  252.    to hang.
  253. • Corrected a bug that inhibited all further drawing in the Use Case diagram
  254.    window after having edited a Use Case name in the main window.
  255. • Corrected some minor updating problem related to free text items.
  256. • Corrected a problem with free text always using helvetica when opening a
  257.    document and the "Use System Font" option was enabled.
  258. • Corrected a problem that caused strange behaviour after deleting an item.
  259.    If deleted item constrained the possible movement of any other item, the
  260.    constraint would remain even though the item was deleted.
  261. • New Word RTF template that also support Word 6.0 RTF format.
  262. • Enhanced the code generation so that it will now be possible to generate
  263.    several classes into one common file.
  264. • The code generation should now also be able to generate more {CLASS}
  265.    {/CLASS} section outputs, i.e. the code generation will not stop when the
  266.    first {/CLASS} tag has been encountered. This was a bug in previous versions.
  267. • Added a "Append set..." button to the data types dialog so that several data
  268.    types file may be read without clearing the list every time a new data type
  269.    file is read.
  270.  
  271. Changes in 2.0.5 (12 November 1998)
  272. • Corrected two bugs: one in the preferences dialog and one crash which occured
  273.    when doubleclicking on an operations parameter.
  274.  
  275. Changes in 2.0.4 (11 November 1998)
  276. • Corrected some update problems with Use Cases.
  277. • Corrected bug in code generation. Interface files were stored in the folder above the
  278.    specified folder.
  279. • Corrected a crash bug related to importing Java code containing empty
  280.    documentation comments.
  281. • Corrected a problem with array arguments when parsing C++ code.
  282. • Corrected a problem with a disappearing Class menu.
  283. • Corrected a crash bug which occured when trying to close all open dialog windows
  284.    (option click in the close box of a dialog window).
  285. • Added some keyboard shortcuts for the four main window and also command-up
  286.    arrow and command-down arrow to step through the pages in a window.
  287. • Added possibility to select between large and small UML generalization arrows.
  288. • Handles of a line can now be removed using the cut-tool.  Option-click on a handle
  289.    to remove it.
  290. • Added a preference option to be able to select if lines (association, generalization,
  291.    dependency etc) shall be created rectilinear or oblique.
  292. • Added possibility to cut dependency, use case and actor generalization lines.
  293. • Added possibility to specify if the attributes and operations shall be displayed in
  294.    a reference class. This is an option in the Object Model section of the preferences
  295.    dialog. You can specify that for a certain view either all/selected/none
  296.    attributes/operations shall be displayed in reference classes. If the "selected"
  297.    option is active, you can select for each reference class if it shall show or hide
  298.    the attributes/operations. This is selected by uisng the select tool and option
  299.    click on the reference class. A popup-menu will appear where you can select to
  300.    hide or show the attributes/operations.
  301. • And much more...
  302.  
  303. Changes in 2.0.3 (3 October 1998)
  304. • Added support for parsing C++ exception specifiers.
  305. • Added support for inheritance between actors in use case diagrams.
  306. • Added support for type conversion operators, eg:
  307.        operator int();
  308. • Added support for parsing of the namespace keyword. When a namespace keyword
  309.    is parsed, a corresponding package will be created (remember to change the
  310.    "create package" preference option if you are using namespaces).
  311. • Added auto-scrolling for drag-n-drop in the left pane of the class and interface
  312.    dialog windows.
  313. • Added possibility to automatically include all implemented operations in a
  314.    class implementing an interface.
  315. • Added the possibility to define a set of identifiers which will be ignored when
  316.    parsing code. This can be useful to exclude macros which have no meaning for
  317.    the class definition, for example the EXPORT_MA and INIT_FMESSAGE macros
  318.    used in all MacApp class headers.
  319. • Corrected C++ parsing of operations returning a namespace qualified type.
  320. • Corrected a bug that could cause ObjectPlant freezing when changing the
  321.    size of the project window.
  322. • Corrected the parsing of structs within class definitions.
  323. • Expanded the stack in the 68k which should reduce the risk of crashing due to
  324.    stack colliding with the heap.
  325. • Corrected another problem with the 68k version. When loading large data type
  326.    files ObjectPlant sometimes crashed.
  327. • Corrected a problem that occured after saving a file. Then the wrong resource
  328.    file was used which could result in strange errors, for example the help dialog
  329.    was empty when being displayed.
  330. • Corrected quite a few problems with the C++ parser.
  331. • And much more...
  332.  
  333. Changes in 2.0.2 (18 September 1998)
  334.  
  335. • Added more support for C++ template types. This means that template types will
  336.    be parsed correctly even when inherited but templates themselves are still not
  337.    supported.
  338. • Corrected a bug that related to importing (reverse engineering) Java comments.
  339.    If the comment started on the same line as the /** an error occured causing a
  340.    break into MacsBug or if you don't have it installed, ObjectPlant crashed.
  341. • Corrected a bug which could cause a crash when using reference items (class
  342.    references or interface references).
  343. • Corrected a giant memory leak which slowly degraded the performance.
  344. • The dialog windows are now resizable but not all fields in the dialogs
  345.    respond to the changed size.
  346. • Corrected a bug when parsing java comments related to constructor methods.
  347. • And much more...
  348.  
  349. Changes in 2.0.1 (7 September 1998)
  350.  
  351. • Added support for C++ template types. This means that template types will be parsed
  352.    correctly but templates themselves are still not supported.
  353. • Added support for reverse enginnering of Java comments. Class, operation and attribute
  354.    descriptions within a /** */ comment will be parsed and added to the object model.
  355. • Corrected a problem with a blinking cursor in the Event Trace diagram.
  356. • Corrected a bug that resulted in a "Syntax error" dialog when parsing C++ code
  357.    with namespace qualifiers, e.g. void function( ClassA::MyType par1 );
  358. • Java class initializers will now be parsed correctly and not generate a "Syntax error".
  359. • It should now be easier to select and move lines, and in particular to "grab"
  360.    the handles of a line.
  361. • New code generation templates for Class.java and C++Template.cc (also separately
  362.    released on the web-site).
  363. • Corrected a bug that made the "Import code..." file dialog show up without displaying
  364.    either *.h, *.hpp or *.java files.
  365. • Made the file filtering in the Import code dialog case independent.
  366. • Added the lost "By Value" checkbox in the aggregation dialog window.
  367. • Corrected problem in Java parser when extending class by their full path, e.g.
  368.    extends awt.Component instead of extends Component. In the latter case a class
  369.    named awt.Component was created instead of a class Component in the package awt.
  370.    (This goes for the implements statement too.)
  371. • And much more...
  372.  
  373. Changes in 2.0 (24 August 1998)
  374.  
  375. • Added C++ and Java reverse engineering. Handles version 1.1 of Java but ignores inner
  376.    classes.
  377. • Corrected a bug that caused documents to be corrupted when read into ObjectPlant.
  378.    The bug is now fixed, but your documents may still be corrupt if saved after
  379.    ObjectPlant had corrupted it. If you have any problems with a document, email it
  380.    to me and I'll try to fix it manually.
  381. • Changed the Page Palette into an ordinary Project window listing the pages of all four
  382.    diagrams. Closing the Project Window closes the project.
  383. • Made it possible to change the heirarchy of packages.
  384. • Extended Use Case diagrams. Now you can add extension points to a use case.
  385. • Corrected a bug that could cause a crash when creating new documents (File->New)
  386.    or when opening old documents (File->Open...).
  387. • Added an option to get type popupmenus sorted (a quick sort performed only on the
  388.    first four letters of each word).
  389. • Added an option to get type popupmenus to include all classes defined in the document.
  390. • Corrected the looks of the supplier relation (between a class and an interface).
  391.    Now it conforms to UML 1.1 using a generalization arrow.
  392. • Added more small icons (for MacOS 8.5).
  393. • Code generation templates: several instances of the USERCODE tag can now be included
  394.    in a code generation template.
  395. • Changed the line drawing algorithm for generalizations, aggregations, associations and
  396.    supplier relations. A generalization, aggregation, association and supplier relation can
  397.    now be forced to be rectilinear (checkbox in dialog window). If a generalization,
  398.    aggregation, association and supplier relation is rectilinear when opening an old file,
  399.    the rectilinear checkbox will be set automatically.
  400. • New Java templates that make use of the SYNCHRONIZED tag.
  401. • In abstract classes operations are written in italics only if the operation is abstract.
  402.    (This is not yet true for EPS exported pictures.)
  403. • Moved some preferences from being application based to document (project) unique.
  404. • Changed behaviour of the attribute's initializer field (in the class dialog) so that it
  405.    scrolls when moving outside of the edit field.
  406. • Added a new code generation tag {REVERSEDEEPANCESTORLIST}. It does basically the
  407.    same as the {DEEPANCESTORLIST} but lists the hierarchy the other way round.
  408. • Added a "Continue All" button in the alert warning for a template file that is
  409.    younger than the generated file.
  410. • Added a new tag {IMPLEMENTS}{/IMPLEMENTS} that can be used for Java to automatically
  411.    generate methods for implemented interfaces. This means that you don't explicitly need
  412.    to define these methods in the class to have them generated.
  413. • Added support for Navigation Services (PowerPC only).
  414. • Corrected a bug that caused the preview of exported EPS files not always be stored in
  415.    the same folder as the EPS file itself.
  416. • Changed the way the supplier tools works. It will now be consistent with the
  417.    generalization tool. You should start pointing to the class and draw a line to
  418.    interface and then release the mouse button.
  419. • Corrected a bug related to importing data tupes.
  420. • Added two new data type files, one for Java and one for Mac types.
  421. • The in/out IDL information shall now be visible for both class and interface
  422.    operation parameters.
  423.